A load to a distribution server in a client-server data distribution system increases as the number of data reception terminals increases. Thus, in a large-scale distribution system, a capacity of a distribution server where accesses are concentrated on or a capacity of the network infrastructure needs to be increased. As a result, the distribution cost increases. Under the background, recently, a data distribution method that applies a peer-to-peer (P2P) technique has drawn attention.
In a streaming distribution method that utilizes P2P, for example, a terminal that receives data transfers the data to another terminal. In this case, respective terminals function as relay devices and thereby achieve large-scale broadcast. According to the method, even if the number of terminals increases, a load on a distribution server will not increase much.
The P2P data distribution may be regarded as data distribution over a logical network (or an overlay network) configured by logical links among terminals without a need to be conscious of the physical network environment. Moreover, in the P2P data distribution, an amount of data traffic that flows over the physical network is determined by a method of coupling terminals over the logical network.
FIG. 1 illustrates P2P data distribution. In the network of FIG. 1, three terminals, n1 to n3 are coupled through routers, A to D. In the network, data are assumed to be distributed from the terminal n1 to the terminal n2 and the terminal n3 by the P2P method. In this case, data distribution from the terminal n1 to the terminal n2 and the terminal n3 is achieved, for example, by the following procedure A or procedure B. In procedure A, the terminal n1 transmits data to the terminal n2, and the terminal n2 transfers the data to the terminal n3. In procedure B, the terminal n1 transmits data to the terminal n3 and the terminal n3 transfers the data to the terminal n2.
An appropriate selection of a procedure with a shorter network distance of data distribution increases efficiency of data distribution. The network distance is represented, for example, by the number of routers over the communication route. For example, in a procedure 1, three routers, C, B, and A are present over a route from the terminal n1 to the terminal n2 while two routers A and D are present over a route from the terminal n2 to the terminal n3. In other words, the total network distance of the procedure 1 is “5.” Meanwhile, in a procedure 2, four routers, C, B, A, and D are present over a route from the terminal n1 to the terminal n3 while two routers D and A are present over a route from the terminal n3 to the terminal n2. In other words, the total network distance of the procedure 2 is “6.” In this case, selecting procedure 1 instead of procedure 2 increases efficiency of the data distribution. Note that the number of routers over a communication route may be detected, for example, by a traceroute command or a tracert command.
FIG. 2 illustrates an example of a subnetwork that includes a plurality of switching hubs. In the example of FIG. 2, the subnetwork includes five switching hubs, SW1 to SW5 and configured under a control of a router. The terminals N1 to N6 may transmit and receive data through the switching hubs SW1 to SW5.
In the example below, operations will be described under an assumption that a network topology (a network distance) may be identified in the same manner as the network configured by routers in FIG. 1 may be identified.
In the example, data are assumed to be transmitted from the terminal N1 to terminals, N2 to N6 by the P2P method. In this case, the terminal N1 transmits data to a destination terminal with substantially the shortest network distance. In the configuration illustrated in FIG. 2, the terminal N1 transmits data to the terminal N2. The terminal N2 transfers the received data to another destination terminal with substantially the shortest network distance. In the configuration illustrated in FIG. 2, terminal N2 transfers the data to the terminal N3. Thereafter, each terminal transfers the received data to another terminal based on the network distance. Accordingly, efficient data distribution from the terminal N1 to terminals, N2 to N6 may be achieved.
As a related technology, Japanese Laid-open Patent Publication No. 2000-172600 discusses a network configuration exploration method that is capable of identifying devices to be managed that are connected to a network using different protocols. In the network configuration exploration method, types of protocols that can be used are obtained and exploration requests are transmitted that request devices coupled using all types of protocols to respond. Then responses from the devices are calculated and a device list used for managing the devices is displayed based on the calculated result.
As another related technology, Japanese Laid-open Patent Publication No. 2006-345347 discusses a communication apparatus that performs configuration exploration of a customer premises network. The communication apparatus includes an exploration packet generation unit, a received packet analysis unit, a control unit, and a packet transmission and reception unit. The exploration packet generation unit generates a router exploration packet in which time to live (TTL) is changed and switches a transmission destination of the router exploration packet. The received packet analysis unit obtains an address of the router from an Internet Control Message Protocol (ICMP) packet that is returned from the router in response to the router exploration packet. The control unit obtains information from the received packet analysis unit, controls the router exploration packet generation unit, and conducts the network exploration. The packet transmission and reception unit transmits and receives the router exploration packet and the ICMP packet.